1. Field of the Invention
The present invention relates to a three-dimensional polygon display apparatus using progressive polygon data for rendering an object with the number of polygons that is available in the rendering conditions of the equipment used.
In particular, the present invention relates to a three-dimensional polygon display apparatus for calculating an optimum number of polygons to be allocated to a three-dimensional character according to the polygon processing capacity of the three-dimensional polygon display environment and according to the displaying position of the three-dimensional character in order to display the three-dimensional character in a progressive polygon level corresponding to the optimum number of polygons.
2. Description of the Related Art
With high performance of current computer systems and development of multimedia processing techniques, an environment where advanced three-dimensional computer graphics can be processed on personal computers is emerging, and accelerator boards dedicated to three-dimensional graphics processing are being provided. With the improvement of graphics processing capability, high-end personal computers that have a high processing capability can display a three-dimensional character with sufficiently high quality and are comparable to graphic workstations (GWS) that are dedicated to that purpose. However, widely spread personal computers used by general users are not always provided with a graphic accelerator or a high performance CPU, and the hardware specification of many of them cannot cope with real-time display processing of a three-dimensional character sufficiently. Moreover, the level of the hardware specification varies from relatively high to low. Therefore, in order to compensate for the widely varied difference in hardware performance and to realize display processing of a three-dimensional character with at least a certain level of quality by various display environments, it is necessary to supplement insufficiency of hardware processing performance with advantageous software processing. Thus, it is essential to improve software processing systems.
There are various types of data formats for computer graphics. In games employing the motions of objects of artificial creature characters which are used by general users, in general, data regarding objects is stored primarily in the form of polygons, and high speed rendering is performed by generating a polygon mesh and attaching a texture to the polygon mesh. The processing performance consumed by rendering of a three-dimensional character (hereinafter, referred to as xe2x80x9crendering costxe2x80x9d) depends on the number of polygons that are processed for display.
In order to display graphics with high quality, the larger number of polygons are allocated to a three-dimensional character, the better the display result is. However, in the case where polygons are displayed in real-time, there are limitations to the number of polygons that can be displayed at the same time. For example, in the case where real-time processing is performed by using a current personal computer as the platform, it is said that it is necessary to limit the number of polygons to about 2000 per frame. Generally, in animation design and production, the number of polygons of a three-dimensional character and the frame rate are set to be low based on the lowest level of hardware specification that end-users use. Therefore, a display environment having high hardware performance uses only a small proportion of its capability to perform display processing of a three-dimensional character, and most of the hardware processing capability is idle, whereas the picture quality is low. On the other hand, when the number of polygons of a three-dimensional character and the frame rate are set to be high corresponding to the highest level of hardware specification that can be used by end-users, real-time display processing cannot be performed in the display environments of many end-users because of their insufficient processing capability.
Conventional methods for alleviating the problem of the imbalance between the processing capability level of an individual display environment and the picture quality of an actually displayed three-dimensional character that is caused by the variation in hardware performance of three-dimensional polygon display environments used by end-users include the followings.
As a first method, a plurality of polygon models of several patterns are prepared, and the number of polygons allocated to a three-dimensional character is changed in accordance with the motion of the three-dimensional character. For example, a polygon model for a close range, a polygon model for an intermediate range and a polygon model for a remote range of a character are prepared, and a suitable one of these polygon models is selected based on the position of the three-dimensional character to be displayed from the viewpoint so that the rendering cost can be reduced even to a small extent. However, the methods for preparing the plurality of polygon models have the following problems. A first problem is that animation data is required for each polygon model to be prepared, so that the data amount becomes enormous. A second problem is that when a three-dimensional character moves and the polygon models are switched, the difference in resolution of the displayed three-dimensional character between before and after the movement is outstanding. These problems require the first conventional method to be improved.
As a second method, progressive polygons are used. The progressive polygon data that are used in a three-dimensional polygon display apparatus using progressive polygon data are polygon data having a hierarchy corresponding to the levels of the resolution and the degree of details of an object to be displayed. The progressive polygon data are characterized in that the number of polygons is increased or decreased by changing the progressive polygon level dynamically in accordance with the display conditions and vertexes of a polygon mesh are formed. The progressive polygon data consists of basic polygon data and detailed polygon data. The basic polygon data are the roughest polygon data, which is the basis, and the detailed polygon data are data described relatively with respect to the basic polygon data. The levels of the progressive polygons are set to be in proportion to a distance Z between the position of a three-dimensional character to be displayed and a camera, and the number of polygons to be allocated can be reduced in accordance with the progressive polygon level. With this method, the number of polygon N is represented by N=kN1/Z, and the number of polygon is reduced in inverse proportion to Z for reproduction. Herein, k is a coefficient, and N1 is the number of polygons of the most detailed level. This method is advantageous in that the rendering cost can be suppressed because the number of polygons to be allocated can be reduced in accordance with the position of a three-dimensional character to be displayed.
However, in this method, the number of polygons to be allocated cannot be adjusted individually according to the processing capability of the three-dimensional polygon display environment used. Furthermore, generally, whether or not the number of polygons allocated to a three-dimensional character is excessive for the scene can be determined by whether or not the quality perceived by the user (visibility) with respect to the three-dimensional character rendered with that number of polygons can be maintained at a certain level or thereabove. However, in the second method, although the number of polygons is changed dynamically in accordance with the position of the three-dimensional character to be displayed, namely, the correlation between the position of the three-dimensional character to be displayed and the number of polygons to be allocated is utilized, the level of the visibility of the user is not necessarily taken into direct account.
Therefore, with the foregoing in mind, it is an object of the present invention to provide a technique that compensates for the difference in hardware performance between varied three-dimensional polygon display environments and that dynamically calculates the optimum number of polygons commensurate with the graphics processing capability of each three-dimensional polygon displayenvironment actually used by a user, and increases or decreases the number of polygons of the three-dimensional character individually for each three-dimensional polygon display environment for customization and optimization, thereby ensuring the highest display quality that can be achieved by the rendering cost allowed for each three-dimensional polygon display environment.
Furthermore, it is another object of the present invention to provide a three-dimensional polygon display apparatus that can adjust dynamically the number of polygons to be allocated to a three-dimensional character in accordance with the scene so that the picture quality perceived by the user is in a predetermined level.
A three-dimensional polygon display apparatus using progressive polygon data for forming a polygon mesh of a three-dimensional character of the present invention includes a visual quality determining part for determining visual quality that is defined by an average area screen represented by one polygon on a display and indicates picture quality perceived by a user; an optimum polygon number calculating part for calculating the number of polygons that can be allocated to the three-dimensional character while maintaining the determined visual quality constant as the optimum number of polygons; and a polygon number adjusting part for adjusting a progressive polygon level so that the number of polygons of the three-dimensional character is not less than the calculated optimum number of polygons and is the smallest number of polygons to which the number of polygons can be reduced.
This embodiment can optimize the number of polygons in accordance with the capability of reproduction equipment, and ensure the highest display quality within the rendering cost allowed for the three-dimensional polygon display apparatus. Furthermore, in display of a three-dimensional character, the average area covered by one polygon on a display screen can be constant regardless of the scene to be displayed or the Z value of the three-dimensional character, and the visual quality, which is a degree of visual details of representation on the screen, namely, picture quality perceived by the user, can be constant.
It is preferable that the visual quality determining part calculates the visual quality Sp using a unit length w [pixels] on a display screen, an area Sr of the three-dimensional character, the total number of polygons Nap that can be rendered in one frame, a distance Z between the three-dimensional character and a camera, and xc2xd of an angle of view xcex8 from the camera to the display screen as parameters according to Equation 3.
Equation 3                    Sp        =                                                            (                                  w                                      2                    ⁢                    Z                    ⁢                                          xe2x80x83                                        ⁢                    tan                    ⁢                                          θ                      2                                                                      )                            2                        ⁢                          Sr              /                              Nap                2                                              =                                                    W                2                            ⁢              Sr                                      2              ⁢                              NapZ                2                            ⁢                              tan                2                            ⁢                              θ                2                                                                        Equation        ⁢                  xe2x80x83                ⁢        3            
This embodiment allows an average area covered by one polygon on a display screen to be calculated and provides an example of a specific processing procedure with which the visual quality Sp is calculated.
It is preferable that the optimum polygon number calculating part calculates the optimum number of polygons Np using a unit length w [pixels] on a display screen, an area Sr of the three-dimensional character, a distance Z between the three-dimensional character and a camera, xc2xd of an angle of view from the camera to the display screen, and the visual quality Sp as parameters according to Equation 4.
Equation 4                    Np        =                                            w              2                                      2              ⁢                              Z                2                            ⁢                              tan                2                            ⁢                              θ                2                                              ⁢                      Sr            Sp                                              Equation        ⁢                  xe2x80x83                ⁢        4            
With this embodiment, the number of polygons to be allocated to the three-dimensional character can be determined so that the visual quality Sp is constant, and an example of processing procedure that optimizes the number of polygons to be allocated while maintaining the picture quality perceived by the user at a predetermined level can be provided.
As described above, the optimum number of polygons can be allocated so that the average area covered by one polygon on the display screen can be constant regardless of the scene to be displayed or the Z value of the three-dimensional character, and the visual degree of the details represented on the screen and the visual quality, which is picture quality perceived by the user can be constant. Thus, the progressive polygon level of the three-dimensional polygons can be adjusted and the number of polygons can be reduced.
In the case where the three-dimensional polygon display apparatus is not used exclusively for computer graphics but is used in an environment where a plurality of applications can be executed with multi-windows, the polygon rendering capability can be detected in view of the processing capability that actually is allowed for rendering polygons.
These and other advantages of the present invention will become apparent to those skilled in the art upon reading and understanding the following detailed description with reference to the accompanying figures.